package day06;

import sun.java2d.pipe.SpanIterator;

import java.lang.reflect.Array;
import java.util.Arrays;
import java.util.concurrent.CopyOnWriteArrayList;

public class HomeWork2 {
    public static void main(String[] args) {
            /*
        1. MaxOfArray求数组元素最大值并放在最后一个元素的下一个位置
        要求：声明整型数组并填充随机数据，找到最大值，将数组扩容并将最大值放末尾
        2. 方法的练习：
        要求：
        - 定义say()无参无返回值方法，调用测试
        - 定义sayHi()有一个参无返回值方法，调用测试
        - 定义sayHello()有两个参无返回值的方法，调用测试
        - 定义getNum()无参有返回值方法，演示return的用法，调用测试
        - 定义plus()两个参有返回值方法，调用测试
        - 定义testArray()用于生成整型数组填充随机数并返回数组，调用测试
        */


        /*
        1.MaxOfArray求数组元素最大值并放在最后一个元素的下一个位置：声明整型数组并填充随机数据，
        找到最大值，将数组扩容并将最大值放末尾
         */

        int[] a=new int[10];
        int max=a[0];
        for (int i=0;i<a.length;i++){
            a[i]=(int)(Math.random()*100);
            System.out.println(a[i]);
            if (max<a[i]){
                max=a[i];
            }
        }
        System.out.println("max="+max);
        a= Arrays.copyOf(a,a.length+1);
        a[a.length-1]=max;
        for (int i=0;i<a.length;i++) {
            System.out.println(a[i]);
        }



        /*
        2.方法的练习：参数
        - 定义say()无参无返回值方法，调用测
        - 定义sayHi()有一个参无返回值方法，调用测
        - 定义sayHello()有两个参无返回值的方法，调用测试
        */
        say();
        sayHi("大哥");
        sayHello("大哥",180);


        /*
        3.方法的练习：返回值
        - 定义getNum()无参有返回值方法，演示return的用法，调用测
        - 定义plus()两个参有返回值方法，调用测
        - 定义testArray()用于生成整型数组填充随机数并返回数组，调用测试
        */
        double s=getNum();
        System.out.println(s);

        int f=plus(5,9);
        System.out.println(f);
        int p=10,o=98;
        int u=plus(p,o);
        System.out.println(u);

        int[] y=testArray(8,30);
        System.out.println(y.length);
        System.out.println(y[y.length-1]);
        int[] n=testArray(6,20);
        for (int i=0;i<n.length;i++){
            System.out.println(n[i]);
        }






    }
    //方法
    /*
     2.方法的练习：参数
     - 定义say()无参无返回值方法，调用测
     - 定义sayHi()有一个参无返回值方法，调用测
     - 定义sayHello()有两个参无返回值的方法，调用测试
    */
    //无参无返
    public static void say(){
        System.out.println("大哥在此");
    }
    //有参无返
    public static void sayHi(String name){
        System.out.println("我是"+name);
    }
    //两个参无返
    public static void sayHello(String name,int age){
        System.out.println("我的名字是"+name+"，我今年"+age+"岁了。");
    }

    /*
    3.方法的练习：返回值
        - 定义getNum()无参有返回值方法，演示return的用法，调用测试
        - 定义plus()两个参有返回值方法，调用测试
        - 定义testArray()用于生成整型数组填充随机数并返回数组，调用测试
     */
    //无参有返
    public static double getNum(){
        return (3.666);
    }
    //两个参有返
    public static int plus(int a,int b){
        int c=a+b;
        return (c);
    }
    //整型
    public static int[] testArray(int l,int m){
        int[] arr=new int[l];
        for (int i=0;i<arr.length;i++){
            arr[i]=(int)(Math.random()*(m+1));
        }
        return (arr);
    }






}
